windows10搭建YOLOx环境 训练+测试+评估 您所在的位置:网站首页 python 模型评估 windows10搭建YOLOx环境 训练+测试+评估

windows10搭建YOLOx环境 训练+测试+评估

2023-08-21 13:08| 来源: 网络整理| 查看: 265

文章目录 前言1、必要环境2、安装2.1 创建python3.7虚拟环境2.2 下载pytorch (pytorch版本>=1.7)2.3 配置YOLOx环境2.4 测试效果注意:图片和视频路径要放在当前文件夹下!!!! 3、训练自己的VOC数据集4、测试5、模型评估:6、根据README.md流程走可能会出现的报错6.1 编码报错 UnicodeDecodeError:gbk xxxxx6.2 根据readme文档安装apex时报错 Removed build tracker:xxxxxxx6.3 doesn’t contains class named ‘Exp’6.4 File ended prematurely 文件过早结束6.5 测试时目标框显示的类别不对6.6 测试COCO模型时IndexError: tuple index out of range6.7 加载预训练模型的时候 RuntimeError: Error(s) in loading state_dict for YOLOX6.8 训练了10次进行模型评估的时候报错[Errno 2] No such file or directory: 'xxx.xml' 总结

前言

YOLOX踩坑记录,基于VOC数据集,本文将详细介绍训练+测试+模型评估的过程和个人遇到的所有报错

1、必要环境

Windows10+python3.7+CUDA10.1+CUDNN7.6.5

2、安装 2.1 创建python3.7虚拟环境 conda create -n yolo_x python=3.7activate yolo_x 在这里插入图片描述 2.2 下载pytorch (pytorch版本>=1.7) conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1 -c pytorch

测试是否安装成功

pythonimport torchprint(torch.cuda.is_available()) 在这里插入图片描述 出现如上界面则证明安装成功 2.3 配置YOLOx环境 进入github官网下载源码:yolox源码地址安装依赖包:pip install -r requirements.txt安装yolox: python setup.py install到官网下载apex,解压到项目文件夹内 地址:apex源码cd到apex文件夹内 cd apex-maste安装apex python setup.py install安装pycocotools pip install pycocotools下载预训练模型 地址:模型地址 在这里插入图片描述 2.4 测试效果

1 测试图片

python tools/demo.py image -f exps/default/yolox_s.py -c ./yolox_s.pth.tar --path assets/dog.jpg --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

效果: 在这里插入图片描述 2 测试视频

python tools/demo.py video -f exps/default/yolox_s.py -c ./yolox_s.pth.tar --path ./cut2.mkv --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

效果: 在这里插入图片描述

注意:图片和视频路径要放在当前文件夹下!!!! 3、训练自己的VOC数据集

voc数据集的制作参考我前面的博客 地址:windows10搭建PaddleDetection2.0

1 将VOCdevkit目录拷贝到datasets/VOC目录下:

ln -s D:/data/firesmoke/VOCdevkit/VOC2007/11 ./datasets/VOC

D:/data/firesmoke/VOCdevkit/VOC2007/11是VOCdevkit文件所在的路径 在这里插入图片描述 ./datasets/VOC是要复制到的路径 在这里插入图片描述 2 修改 yolox/data/dataloading.py 如下: 在这里插入图片描述 在YOLO-main路径下执行python setup.py install 更新yolox

3 修改exps/example/yolox_voc/yolox_voc_s.py如下: 在这里插入图片描述 如下修改num_classes改为自己的类别数量 在这里插入图片描述

4 修改yolox/data/datasets/voc_classes.py为自己的类别 在这里插入图片描述 执行python setup.py install 更新yolox

5 修改yolox/evaluators/voc_eval.py 如下 在这里插入图片描述 在18行filename前加上Annotations文件夹的路径 执行python setup.py install 更新yolox

6 运行如下代码开始训练

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 --fp16 -o -c yolox_s.pth.tar -d 使用显卡个数 -b 批次大小 –fp16 是否开启半精度训练 -c 加载预训练模型

如果出现CUDA out of memory内存溢出,将–fp16 -o去掉,代码改为如下

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c yolox_s.pth.tar

效果如下 在这里插入图片描述

7 继续上一批次恢复训练的话,改成如下形式 在这里插入图片描述 将—resume改为True,-c后面跟接要继续训练的权重文件 代码如下:

python tools/train.py -f exps/example/yolox_voc/yolox_voc_s.py -d 1 -b 4 -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar 4、测试

1 测试前修改demo.py如下 在这里插入图片描述 2 修改demo.py 85行左右的cls_name为VOC_CLASSES,还有265行左右的第三个参数 在这里插入图片描述 在这里插入图片描述 3 测试

python tools/demo.py video -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar --path ./bb2.mp4 --conf 0.3 --nms 0.65 --tsize 640 --save_result --device gpu

测试效果 在这里插入图片描述

5、模型评估:

1 输入如下代码进行模型评估

python tools/eval.py -f exps/example/yolox_voc/yolox_voc_s.py -c YOLOX_outputs/yolox_voc_s/latest_ckpt.pth.tar -d 1 -b 4 --conf 0.001 --fp16 --fuse --fuse 融合Conv层与BN层(减少运算量,加速推理的一个东西)

效果:(只训练了一批次map怪低的) 在这里插入图片描述

6、根据README.md流程走可能会出现的报错 6.1 编码报错 UnicodeDecodeError:gbk xxxxx

解决方案: 在这里插入图片描述 修改50行 加上encoding=”utf-8”

6.2 根据readme文档安装apex时报错 Removed build tracker:xxxxxxx

在这里插入图片描述 解决方案: 在这里插入图片描述 将以上代码修改成如下,记得一定要cd到apex-master文件夹内执行

python setup.py install 6.3 doesn’t contains class named ‘Exp’

解决方案:

拿yolox_s举例: 将 -n yolox-s 改为 -f exps/default/yolox_s.py

如果是在pycharm里面运行代码,将相对路径改为绝对路径,如下所示: 在这里插入图片描述

6.4 File ended prematurely 文件过早结束

这该死的报错耗了我大半个小时 解决方案:

在这里插入图片描述 改为 在这里插入图片描述 将–path 视频绝对路径改为相对路径!!!!!!!!!!!

6.5 测试时目标框显示的类别不对

解决方案: 参考 4、测试 的1,2步 运行python setup.py install更新yolox 在这里插入图片描述

6.6 测试COCO模型时IndexError: tuple index out of range

解决方案: 在tools\demo.py中把VOC_CLASSES 换回 COCO_CLASSES,修改85,256行左右的代码~ 在这里插入图片描述

6.7 加载预训练模型的时候 RuntimeError: Error(s) in loading state_dict for YOLOX

解决方案: 将train文件中44行左右—resume 改成False

6.8 训练了10次进行模型评估的时候报错[Errno 2] No such file or directory: ‘xxx.xml’

解决方案: 在这里插入图片描述

总结

代码跑通了,开心

如有问题,欢迎评论区交流! 在这里插入图片描述 学习交流群:995760755



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有